package com.small.xx.ai.file.dto;

/**
 * 文件下载请求DTO
 * 
 * @author xx-ai
 * @version 1.0.0
 */
public class FileDownloadRequest {
    
    /**
     * 文件路径
     */
    private String filePath;
    
    /**
     * 下载类型：inline（内联）或 attachment（附件）
     */
    private String downloadType = "attachment";
    
    /**
     * 自定义文件名（可选）
     */
    private String customFileName;
    
    /**
     * 是否强制下载
     */
    private Boolean forceDownload = false;

    // 构造器
    public FileDownloadRequest() {}

    public FileDownloadRequest(String filePath) {
        this.filePath = filePath;
    }

    public FileDownloadRequest(String filePath, String downloadType) {
        this.filePath = filePath;
        this.downloadType = downloadType;
    }

    // Getter和Setter方法
    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getDownloadType() {
        return downloadType;
    }

    public void setDownloadType(String downloadType) {
        this.downloadType = downloadType;
    }

    public String getCustomFileName() {
        return customFileName;
    }

    public void setCustomFileName(String customFileName) {
        this.customFileName = customFileName;
    }

    public Boolean getForceDownload() {
        return forceDownload;
    }

    public void setForceDownload(Boolean forceDownload) {
        this.forceDownload = forceDownload;
    }

    @Override
    public String toString() {
        return "FileDownloadRequest{" +
                "filePath='" + filePath + '\'' +
                ", downloadType='" + downloadType + '\'' +
                ", customFileName='" + customFileName + '\'' +
                ", forceDownload=" + forceDownload +
                '}';
    }
}